<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>命名空间</title>
</head>
<body>
<!--
    管理变量。防止污染全局变量，适用于模块化开发
-->

<script>
    //命名空间
    var org = {
        departmentOne : {
            car : {
                name : "baoma",
                height : 1400,
                lang : 4900,
                width : 1800
            },
            bingxiang : {
                //...
            }
        },
        departmentTow : {},
        departmentThree : {},
    };
    var usedptonecar = org.departmentOne.car;
    console.log(usedptonecar.name);

    //实现一个功能：打印自己的名字
    var name = "shunzhi";
    var init = (function () {
        var name = "hanyun";//并不污染全局变量
        function callName() {
            console.log(name);
        }
        return function () {//留出一个借口，去执行函数
            callName();
        }
    }());
    init();//hanyun
    //init 被调用就会启动借口中的函数

    var initDeng = (function () {
        var name = "deng";
        function callName() {
            console.log(name);
        }
        return function () {
            callName();
        }
    }());

    initDeng();     //deng   互相不影响

    //使用return this 实现方法的的连续调用

    var person = {
        eat : function () {
            console.log("I am eating");
            return this;
        },
        smoke : function () {
            console.log("I am smoking");
            return this;
        },
        sleep : function () {
            console.log("I am sleeping");
            return this;
        }
    };
    person.eat().sleep().smoke();










</script>

</body>
</html>
